package com.hearwego;

import java.util.List;
import java.util.Timer;
import java.util.TimerTask;

import com.hearwego.utilities.Informacion;
import com.hearwego.utilities.ResultadosAdapter;
import com.hearwego.utilities.RssParserPull;
import com.hearwego.utilities.Utilities;

import android.app.ProgressDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.SharedPreferences;
import android.content.DialogInterface.OnCancelListener;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.Button;
import android.widget.ListView;
import android.widget.Toast;

public class TabListResultados extends BaseFragment {
	public List<Informacion> resultados;
	public RssParserPull parser;
	SharedPreferences preferences;
	SharedPreferences.Editor editor;
	String[] arrayurl, arraynombre, arraydireccion, arraypoid;
	private ProgressDialog progressDialog;
	public ResultadosAdapter adapter;
	public ListView lista;
	public Timer tim;
	Button inicio;
	View view;
	
	@Override
	public View onCreateView(LayoutInflater inflater, ViewGroup container,
			Bundle savedInstanceState) {
		view = inflater.inflate(R.layout.tab_list_resultados, container, false);
		preferences= mActivity.getSharedPreferences("Preferencias",Context.MODE_PRIVATE);
		editor = preferences.edit();

		inicio = (Button) view.findViewById(R.id.bt_inicio);
		inicio.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				mActivity.onBackPressed();
			}
		});
		new LoadList().execute("");
//		new Thread(new Runnable() {
//			
//			@Override
//			public void run() {
//				parser = new RssParserPull(preferences.getString("actualquery", getString(R.string.query)));
//				resultados = parser.parse();
//				Log.i("Size", ""+resultados.size());
//				for(int i=0; i<resultados.size(); i++){
//					Log.i("urlimagen", resultados.get(i).getFoto());
////					Log.i("distancia", resultados.get(i).getFoto());
//					Log.i("nombre", resultados.get(i).getNombre());
//					Log.i("direccion", resultados.get(i).getDireccion());
////					Log.i("urlimagen", resultados.get(i).getFoto());
//				}				
//			}
//		}).start();
		
		return view;
	}
	
	public class LoadList extends AsyncTask<String, String, String>{
		@Override
			protected void onPreExecute() {
				super.onPreExecute();
				progressDialog = ProgressDialog.show(mActivity, "",
    					"Cargando...", true, true, new OnCancelListener() {
    						
    						@Override
    						public void onCancel(DialogInterface arg0) {
    							mActivity.onBackPressed();
    						}
    			});
			}
		
	
		@Override
		protected String doInBackground(String... params) {
			parser = new RssParserPull(preferences.getString("actualquery", getString(R.string.query)));
			resultados = parser.parse();
			Log.i("actual query", preferences.getString("actualquery", getString(R.string.query)));
			Log.i("Size", ""+resultados.size());
			arrayurl = new String[resultados.size()];
			arraynombre = new String[resultados.size()];
			arraydireccion = new String[resultados.size()];
			arraypoid = new String[resultados.size()];
			for(int i=0; i<resultados.size(); i++){
				Log.i("urlimagen", "http://www.smartthinking.com.mx:8080/HearWeGo/"+resultados.get(i).getFoto());
//				Log.i("distancia", resultados.get(i).getFoto());
				Log.i("nombre", resultados.get(i).getNombre());
				Log.i("direccion", resultados.get(i).getDireccion());
				Log.i("id", resultados.get(i).getId());
				arrayurl[i] = resultados.get(i).getFoto();
				arraynombre[i] = resultados.get(i).getNombre();
				arraydireccion[i] = resultados.get(i).getDireccion();
				arraypoid[i] = resultados.get(i).getId();
			}					
			return null;
		}
		
		@Override
		protected void onPostExecute(String result) {
			super.onPostExecute(result);
			lista = (ListView) view.findViewById(R.id.list);
			adapter = new ResultadosAdapter(mActivity, arrayurl, null, arraynombre, arraydireccion, null);
			lista.setAdapter(adapter);
			
			lista.setOnItemClickListener(new OnItemClickListener() {

				@Override
				public void onItemClick(AdapterView<?> arg0, View arg1,
						int arg2, long arg3) {
					Log.i("id "+arraypoid[arg2], "id "+arraypoid[arg2]);
					editor.putInt("actualid", Integer.parseInt(arraypoid[arg2].toString())).commit();
					Toast.makeText(mActivity, "id "+arraypoid[arg2], Toast.LENGTH_LONG).show();
//		            pushFragments(tabId, new TabDetalle(), false,true);
		            mActivity.pushFragments(Utilities.TAB_A, new TabDetalle(),true,true);


				}
			});
			progressDialog.dismiss();
			tim=new Timer();
			tim.schedule(new TimerTask() {
				@Override
				public void run() {
					mActivity.runOnUiThread(new Runnable() {
					    public void run() {
							adapter.notifyDataSetChanged();
					    }
					});
				}
			}, 0, 2000);

		}
	
	}

}
